﻿using System;
using System.Collections.Generic;
using System.Diagnostics;
using kinokasse.bauteile.contracts.Belegungen;
using kinokasse.datamodel.contracts;

namespace kinokasse.belegungen
{
	public class SitzWählen : ISitzWählen
	{
		private readonly HashSet<Sitz> m_Sitze = new HashSet<Sitz>();

		public void In_Process( Sitz gewählterSitz )
		{
			Trace.TraceInformation( "Sitze wählen: {0}", gewählterSitz );

			if( m_Sitze.Contains( gewählterSitz ) )
			{
				m_Sitze.Remove( gewählterSitz );
			}
			else
			{
				m_Sitze.Add( gewählterSitz );
			}

			Out_GewählteSitze( m_Sitze );
		}

		public event Action<IEnumerable<Sitz>> Out_GewählteSitze;
	}
}
